Computers are ubiquitous in today's society. They come in all different varieties, such as mainframes, personal computers, dedicated control systems, personal digital assistants, cell phones, and many others. As computers become more commonplace, there is an ever increasing need for the storage of very large amounts of data. One example of a high-capacity data storage system involves a physical tape drive system composed of tape cartridges for storing data and tape drives for accessing that data. However, such physical tape systems can require large storage rooms and/or high-cost retrieval mechanisms and are cost prohibitive to some users of the physical tape drive system. In response, virtual tape systems have been developed that emulate the storage capacity of several million physical tapes and several hundred drives as their virtual counterparts in a single system composed of multiple computer servers.
In general, virtual tape storage systems store data that previously would have been stored on physical tapes in a disk file-system directory. Storage of data onto physical tape requires locating a blank tape cartridge, loading it into a tape drive and writing the data to the tape cartridge via the tape drive. Retrieval of data stored on a physical tape requires locating the tape cartridge containing the data, loading it into a tape drive, and reading the data from the tape cartridge using the tape drive. In contrast, storage of the data in a virtual tape storage system includes choosing a location to store the data within the file-system directory, creating the files needed to emulate the tape cartridge and writing the data into those files. Retrieval of data stored in a virtual tape storage system includes locating the files that emulate the tape cartridge, reading and transmitting the retrieved data electronically to the requesting system. Further, virtual tape systems can replace or store the contents of 1 million or more physical tapes. However, due to the high capacity of the virtual tape system, retrieval of specific data within the virtual tape system may become complicated and time-consuming as the resulting several million files are analyzed to locate the intended data file.
In particular, it may be difficult to choose a location or find the location for a particular virtual tape in a virtual tape storage system storing 1 million virtual tapes in a file-system. For example, the virtual tape system may store all 1 million virtual tapes in a single directory of the file-system. In another example, each virtual tape may be stored in a unique directory such that the virtual tape system would include 1 million directories or more. In either case, writing or reading of a single virtual tape within the storage system would be time consuming for the server's operating system which would need to search through its own data for the files or directories until the desired virtual tape files are located. With some other arrangements of directories or files, choosing a location may take a prohibitively long amount of time and become progressively worse as more virtual tapes are added or stored on the system. Similarly, searching for the virtual tape files may take a prohibitively long time. Thus, it is with these and other issues in mind that various aspects of the present disclosure were developed.